1
Du appel direct à l'API au concept d'abstraction de LangChain
AI010Lesson 5
00:00

Au-delà de la requête brute

Lorsqu'on commence avec des grands modèles linguistiques (LLM), les développeurs utilisent généralement des appels directs à l'API (comme la bibliothèque Python OpenAI) pour envoyer une requête et recevoir une réponse. Bien que fonctionnel, cette approche devient difficile à gérer à mesure que les applications grandissent.

Le problème de l'absence d'état

Les grands modèles linguistiques sont intrinsèquement sans état. Chaque fois que vous envoyez un message, le modèle « oublie » qui vous êtes et ce que vous avez dit auparavant. Chaque interaction est un tableau vierge. Pour maintenir une conversation, vous devez manuellement transmettre l'historique complet au modèle à chaque fois.

La solution LangChain

LangChain introduit le wrapper ChatOpenAI du modèle. Ce n'est pas simplement un wrapper pour le plaisir — c'est la base de la modularité. En abstraction l'appel au modèle, nous pouvons plus tard changer de modèle, intégrer de la mémoire et utiliser des gabarits sans réécrire entièrement notre base de code.

Le scénario du pirate
Imaginez un e-mail client rédigé dans le style argotique de pirate. Pour le traduire en une réponse formelle d'entreprise, un appel direct à l'API nécessite de coder les instructions directement dans le code. Avec LangChain, nous séparons le « style » (pirate contre formel) du « contenu » (l'e-mail) grâce à l'abstraction.
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>
Question 1
Why do we say LLMs are "stateless"?
They do not have access to the internet.
They cannot generate the same response twice.
They do not inherently remember previous messages in a conversation.
They are only capable of processing text, not data states.
Challenge: Initialize ChatOpenAI
Solve the problem below.
You are building a creative writing assistant and need to initialize your first LangChain model.

Your task is to create a ChatOpenAI instance named my_llm with a temperature of 0.7 to allow for more creative (non-deterministic) responses.
Task
Write the Python code to import and initialize the model.
Solution:
from langchain_openai import ChatOpenAI
my_llm = ChatOpenAI(temperature=0.7)